/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package controlador;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JOptionPane;
import modelo.Categoria;
import vista.JFrameCategoria;

/**
 *
 * @author eduardo
 */
public class controladorCategoria implements ActionListener {
     JFrameCategoria jframecategoria;
     Categoria categoria = new Categoria();

     public controladorCategoria(JFrameCategoria jframecategoria)
   {
   this.jframecategoria = jframecategoria;
   }
    //

   public void actionPerformed(ActionEvent e) {
   Object fuente = e.getSource();
   if (fuente==jframecategoria.getBtnBuscar())
      Buscar();
   else if (fuente==jframecategoria.getBtnGuardar())
      Guardar();
   else if (fuente==jframecategoria.getBtnModificar())
      Modificar();
   else if (fuente==jframecategoria.getBtnInsertar())
      Insertar();

    }

void Modificar()
{
if (!jframecategoria.getTxtCodigo().getText().equals("") && !jframecategoria.getTxtNombre().getText().equals(""))
{
  jframecategoria.getTxtDescripcion().setEnabled(true);
  jframecategoria.getTxtNombre().setEnabled(true);
  jframecategoria.getTxtCodigo().setEnabled(false);
  jframecategoria.getBtnModificar().setEnabled(false);
  jframecategoria.getBtnGuardar().setEnabled(true);
}
else
{
JOptionPane.showMessageDialog(jframecategoria, " No hay nada que modificar");
}


}

void Guardar()
{
if(!jframecategoria.getTxtCodigo().getText().equals("")  && !jframecategoria.getTxtNombre().getText().equals(""))
{
 categoria.modificar(jframecategoria.getTxtCodigo().getText(),jframecategoria.getTxtNombre().getText(),jframecategoria.getTxtDescripcion().getText());
 JOptionPane.showMessageDialog(jframecategoria, "se ha modficiado exitosamente");
}
else
{
 JOptionPane.showMessageDialog(jframecategoria, "Error, no se puede modificar, faltan datos");
}
cancelar();

}

void Insertar()
{
if(!jframecategoria.getTxtCodigo().getText().equals("")  && !jframecategoria.getTxtNombre().getText().equals(""))
{
 categoria.insertar(jframecategoria.getTxtCodigo().getText(),jframecategoria.getTxtNombre().getText(),jframecategoria.getTxtDescripcion().getText());
 JOptionPane.showMessageDialog(jframecategoria, "se ha guardar exitosamente");
}
else
{
 JOptionPane.showMessageDialog(jframecategoria, "Error, no se puede guardar, faltan datos");
}
cancelar();

}


void Buscar()
{
    if(!jframecategoria.getTxtCodigo().getText().equals(""))
    {
                     if(categoria.buscar(jframecategoria.getTxtCodigo().getText()))
                     {
                     jframecategoria.getBtnModificar().setEnabled(true);
                     jframecategoria.getBtnBuscar().setEnabled(false);
                     jframecategoria.getTxtDescripcion().setText(categoria.getDescripcion());
                     jframecategoria.getTxtNombre().setText(categoria.getNombre());
                     jframecategoria.getTxtCodigo().setEnabled(false);
                     }
                     else
                     {
                         int opcion=JOptionPane.showConfirmDialog(jframecategoria, "Desea registrar un nuevo usuario?");
                         System.out.print(opcion);
                         if(opcion ==0)
                         {
                         jframecategoria.getBtnInsertar().setEnabled(true);
                         jframecategoria.getBtnBuscar().setEnabled(false);
                         jframecategoria.getTxtCodigo().setEnabled(false);
                         jframecategoria.getTxtDescripcion().setEnabled(true);
                         jframecategoria.getTxtNombre().setEnabled(true);


                         }
                         else
                         cancelar();



                     }
    }
    else
    {
      JOptionPane.showMessageDialog(jframecategoria, "Falta el campo Codigo");
    }
}

void cancelar()
{
        jframecategoria.getTxtCodigo().setEnabled(true);
        jframecategoria.getTxtNombre().setEnabled(false);
        jframecategoria.getTxtDescripcion().setEnabled(false);
        jframecategoria.getTxtCodigo().setText("");
        jframecategoria.getTxtNombre().setText("");
        jframecategoria.getTxtDescripcion().setText("");
        jframecategoria.getBtnGuardar().setEnabled(false);
        jframecategoria.getBtnModificar().setEnabled(false);
        jframecategoria.getBtnBuscar().setEnabled(true);
        jframecategoria.getBtnInsertar().setEnabled(false);
}

}

